namespace AutoUpdater
{
    /// <summary>
    /// 升级状态枚举，定义升级流程中的所有可能状态
    /// </summary>
    public enum UpgradeStatus
    {
        /// <summary>
        /// 初始化阶段（程序刚启动）
        /// </summary>
        Starting,

        /// <summary>
        /// 服务器连接失败（已达最大重试次数）
        /// </summary>
        ServerConnectionFailed,

        /// <summary>
        /// 升级前检查成功（已获取服务器配置）
        /// </summary>
        PreUpgradeSuccess,

        /// <summary>
        /// 升级前检查失败（如服务器配置获取失败）
        /// </summary>
        PreUpgradeFailed,

        /// <summary>
        /// 版本解析失败（如版本号格式错误）
        /// </summary>
        PreUpgradeVersionFailed,

        /// <summary>
        /// 当前版本已是最新版本
        /// </summary>
        PreUpgradeVersionEqual,

        /// <summary>
        /// 正在下载升级文件
        /// </summary>
        Downloading,

        /// <summary>
        /// 下载完成且校验成功
        /// </summary>
        DownloadSuccess,

        /// <summary>
        /// 下载失败（达到最大重试次数）
        /// </summary>
        DownloadFailed,

        /// <summary>
        /// 准备重试下载
        /// </summary>
        DownloadRetry,

        /// <summary>
        /// 正在安装升级文件
        /// </summary>
        Upgrading,

        /// <summary>
        /// 安装成功
        /// </summary>
        UpgradeSuccess,

        /// <summary>
        /// 安装失败
        /// </summary>
        UpgradeFailed,

        /// <summary>
        /// 用户选择推迟升级
        /// </summary>
        UpgradeDelay
    }
}
